Method for determining precoding matrix set and transmission apparatus

ABSTRACT

This application provides a method for determining a precoding matrix set, so as to avoid a case in which a relatively large quantity of precoding matrices in a precoding matrix set cannot be used, thereby improving system performance. A terminal device receives indication information from a network device, and determines a second precoding matrix set front a first precoding matrix set whose rank is R based on the indication information. Each precoding matrix W in the first precoding matrix set satisfies W=W 1 ×W 2 , the second precoding matrix set is a proper subset of the first precoding matrix set, and the second precoding matrix set does not include W=W 1 ×W 2  that satisfies the specific condition in the first precoding matrix set.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 16/375,312, filed on Apr. 4, 2019, which is a continuation of International Application No. PCT/CN2018/094446, filed on Jul. 4, 2018. The international Application claims priority to Chinese Patent Application No. 201710687817.4, filed on Aug. 12, 2017. All of the afore-mentioned patent applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

This application relates to the communications field, and more specifically, to a method for determining a precoding matrix set and a transmission apparatus.

BACKGROUND

A manner of restricting a precoding matrix subset in a Long Term Evolution (LTE) system is restricting vectors that can be selected for W₁. To be specific, a network device notifies a terminal of vectors that can be used by the terminal. If a specific vector is restricted, for example, a first vector is restricted, the first vector cannot appear in W₁ when the terminal selects a precoding matrix. However, because vectors close to the first vector have relatively strong energy in a direction of the first vector, the network device usually cannot restrict use of only the first vector but also needs to restrict the vectors close to the first vector. If a prior-art method is used, vectors close to (or near) the first vector cannot appear in W₁, either. In this case, a relatively large quantity of precoding matrices cannot be used, and consequently, system performance deteriorates.

In the New Radio Access Technology (NR), a type II precoding matrix is defined: W=W₁×W₂. Currently, no technology is related to a solution for restricting a precoding matrix subset of the Type II precoding matrix W=W₁×W₂. However, if the manner of restricting a precoding matrix in the LTE system is used, a relatively large quantity of precoding matrices cannot be used, and consequently, system performance deteriorates.

SUMMARY

This application provides a method for determining a precoding matrix set, so as to avoid a case in which a relatively large quantity of precoding matrices in a precoding matrix set cannot be used, thereby improving system performance.

According to a first aspect, a method for determining a precoding matrix set is provided, including:

receiving, by a terminal device, indication information; and

determining, by the terminal device based on the indication information, a second precoding matrix set from a first precoding matrix set whose rank is R, where

each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R, W₁ satisfies

${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is an N_(t)/2×1 vector, b_(k) _(i) belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M, T is an integer, W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1;

the indication information includes indication information of S sets D₀ to D_(S-1), D₀ to D_(S-1) are respectively in correspondence with c₀ to c_(S-1) in a vector set C={c₀, c₁, . . . c_(S-1)}, any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer; and

the second precoding matrix set is a proper subset of the first precoding matrix set, and the second precoding matrix set does not include W=W₁×W₂ that satisfies the following condition in the first precoding matrix set:

an x^(th) column vector included in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).

According to the method for determining a precoding matrix set in this application, a case in which a relatively large quantity of precoding matrices in a precoding matrix set cannot be used can be avoided by restricting product factors in W₂ that correspond to vectors instead of directly prohibiting use of a beam vector, thereby improving system performance.

According to a second aspect, a method for determining a precoding matrix set is provided, including:

generating, by a network device, indication information, where the indication information is used by a terminal device to determine a second precoding matrix set from a first precoding matrix set whose rank is R; and

sending, by the network device, the indication information, where

each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R, W_(t) satisfies

${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is an N_(t)/2×1 vector, b_(k) _(i) belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M, T is an integer, W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1;

the indication information includes indication information of S sets D₀ to D_(S-1), D₀ to D_(S-1) are respectively in correspondence with c₀ to c_(S-1) in a vector set C={c₀, c₁, . . . c_(S-1)}, any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer; and

the second precoding matrix set is a proper subset of the first precoding matrix set, and the second precoding matrix set does not include W=W₁×W₂ that satisfies the following condition in the first precoding matrix set:

an x^(th) column vector included in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).

According to the method for determining a precoding matrix set in this application, a case in which a relatively large quantity of precoding matrices in a precoding matrix set cannot be used can be avoided by restricting product factors in W₂ that correspond to vectors instead of directly prohibiting use of the vector, thereby improving system performance.

With reference to the first aspect or the second aspect, in a possible implementation of the first aspect or the second aspect, the indication information of the S sets D₀ to D_(S-1) includes S bit fields, the S bit fields are in correspondence with D₀ to D_(S-1), each bit field includes at least one bit, a bit field corresponding to D_(j) indicates an element g_(j) of A₀, and any element of D_(j) is greater than g_(j).

With reference to the first aspect or the second aspect, in a possible implementation of the first aspect or the second aspect, any vector c_(j) of C and any element D_(j)(v) of D_(j) satisfy the following condition: |D _(j)(v)×(b _(f) _(h) )^(H) ×c _(j) |>k _(h)

where b is a vector of B, K_(h)≥0, k_(h) is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.

With reference to the first aspect or the second aspect, in a possible implementation of the first aspect or the second aspect, C includes at least M mutually orthogonal vectors, and any M mutually orthogonal vectors c_(j) ₀ , c_(j) ₁ , c_(j) _(M-1) and elements D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) satisfy the following condition:

$\frac{\begin{matrix} {{{{D_{j_{0}}\left( v_{0} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{0}}}}^{2} + {{{D_{j\; 1}\left( v_{1} \right)} \times \left( b_{f_{h}} \right)^{H} \times}}} \\ {{{c_{j\; 1}}^{2} + \ldots}\mspace{14mu},{+ {{{D_{j_{M - 1}}\left( v_{M - 1} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{M - 1}}}}^{2}}} \end{matrix}}{{{D_{j_{0}}\left( v_{0} \right)}}^{2} + {{D_{j_{1}}\left( v_{1} \right)}}^{2} + \ldots + {{D_{j_{M - 1}}\left( v_{M - 1} \right)}}^{2}} > k_{h}$

where D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) are elements of sets D_(j) ₀ , D_(j) ₀ , D_(j) ₁ , . . . , D_(j) _(M-1) respectively, b_(f) _(h) is a vector of B, k_(h)≥0, k_(h) is a real number H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.

In this manner, at least M orthogonal vectors are simultaneously restricted. Because X in W1 includes M vectors, this manner actually restricts the M vectors included in W1. Because a codebook is formed by a linear combination of the vectors in W1, this manner can achieve more accurate restriction of the codebook.

With reference to the first aspect or the second aspect, in a possible implementation of the first aspect or the second aspect, the indication information of the S sets D₀ to D_(S-1) includes H bit fields, and an h^(th) bit field is used to indicate k_(h).

In this manner, the vector set C and D_(j) can be determined by using indication information including a relatively small quantity of bits. In an extreme case, at least two vectors and D_(j) that corresponds to each of the at least two vectors can be determined by using only one bit field (H=1).

With reference to the first aspect or the second aspect, in a possible implementation of the first aspect or the second aspect, the indication information further includes indication information of the vector set C, the indication information of the vector set C is T bits, the T bits are in one-to-one correspondence with T vectors included in B, and a t^(th) bit in the T bits is used to indicate whether a vector b_(t-1) belongs to the vector set C, where 1≤t≤T.

In this manner, a bitmap of the T bits is used to determine a restricted vector, and the indication information of the S sets D₀ to D_(S-1) includes only S or H bit fields. In this way, when S is relatively small, a quantity of bits required for indicating the S sets D₀ to D_(S-1) can be reduced.

With reference to the first aspect or the second aspect, in a possible implementation of the first aspect or the second aspect, the indication information of the S sets D₀ to D_(S-1) is further used to indicate the vector set C, the indication information of the S sets D₀ to D_(S-1) is bit fields, the T bit fields are in one-to-one correspondence with T vectors included in B, each of the T bit fields includes E bits, E is greater than or equal to 1, and a t^(th) bit field in the bit fields is used to indicate whether a vector b_(t-1) belongs to the vector set C, where 1≤t≤T.

With reference to the first aspect or the second aspect, in a possible implementation of the first aspect or the second aspect, a value range of p_(z,y-1,x-1) ¹ is a set A₁;

the indication information further includes indication information of S sets E₀ to E_(S-1). E₀ to E_(S-1) are respectively in correspondence with c₀ to c_(S-1) in the vector set C={c₀, c₁, . . . , c_(S-1)}, and E_(j) is a proper subset of A₁; and

the second precoding matrix set still does not include W=W₁×W that satisfies the following condition in the first precoding matrix set:

the x^(th) column vector included in X of W₁ is the vector c_(j), and a second product factor p_(z,y-1,x-1) ¹ of at least one element of the elements in row x and row x+M of W₂ that corresponds to c_(j) belongs to E_(j).

According to the method in this embodiment of this application, more refined codebook restriction can be achieved by restricting both a wideband amplitude and a subband amplitude.

According to a third aspect, a communications apparatus is provided, and the communications apparatus has functions of implementing the terminal device in the method designs of the first aspect. These functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more units that correspond to the foregoing functions.

According to a fourth aspect, a communications apparatus is provided, and the communications apparatus has functions of implementing the network device in the method designs of the second aspect. These functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more units that correspond to the foregoing functions.

According to a fifth aspect, a communications apparatus is provided, including a transceiver, a processor, and a memory. The processor is configured to control the transceiver to send and receive signals; the memory is configured to store a computer program; and the processor is configured to invoke the computer program from the memory and run the computer program, so that a terminal device performs the method according to the first aspect.

According to a sixth aspect, a communications apparatus is provided, including a transceiver, a processor, and a memory. The processor is configured to control the transceiver to send and receive signals; the memory is configured to store a computer program; and the processor is configured to invoke the computer program from the memory and run the computer program, so that a network device performs the method according to the second aspect.

According to a seventh aspect, a computer program product is provided, the computer program product includes computer program code, and when the computer program code runs on a computer, the computer performs the methods according to the foregoing aspects.

According to an eighth aspect, a computer readable medium is provided, the computer readable medium stores program code, and when the computer program code runs on a computer, the computer performs the methods according to the foregoing aspects.

According to a ninth aspect, a chip system is provided, and the chip system includes a processor, and is used by a communications apparatus to implement functions in the foregoing aspects, such as generating, receiving, sending, or processing data and/or information related to the foregoing methods. In a possible design, the chip system further includes a memory, and the memory is configured to store a program instruction and data that are necessary for a terminal device. The chip system may include a chip, or may include a chip and another discrete device.

According to a tenth aspect, a chip system is provided, and the chip system includes a processor, configured to support a communications apparatus in implementing functions in the foregoing aspects, such as generating, receiving, sending, or processing data and/or information related to the foregoing methods. In a possible design, the chip system further includes a memory, and the memory is configured to store a program instruction and data that are necessary for a network device. The chip system may include a chip, or may include a chip and another discrete device.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic architectural diagram of a mobile communications system applied to an embodiment of this application;

FIG. 2 is a schematic flowchart of a method for determining a precoding matrix set according to an embodiment of this application;

FIG. 3 is a schematic block diagram of a transmission apparatus according to an embodiment of this application;

FIG. 4 is a schematic block diagram of a transmission apparatus according to an embodiment of this application;

FIG. 5 is a schematic block diagram of a transmission apparatus according to another embodiment of this application; and

FIG. 6 is a schematic block diagram of a transmission apparatus according to still another embodiment of this application.

DESCRIPTION OF EMBODIMENTS

The following describes the technical solutions of this application with reference to the accompanying drawings.

The technical solutions of the embodiments of this application may be applied to various communications systems, such as: a Global System for Mobile Communications (GSM) system, a Code Division Multiple Access (CDMA) system, a Wideband Code Division Multiple Access (WCDMA) system, a general packet radio service (GPRS) system, a Long Term Evolution (LTE) system, an LTE frequency division duplex (FDD) system, an LTE time division duplex (TDD) system, a Universal Mobile Telecommunications System (UMTS), a Worldwide Interoperability for Microwave Access (WiMAX) communications system, a future 5th generation (5G) system, or a new radio (NR) system.

FIG. 1 is a schematic architectural diagram of a mobile communications system applied to an embodiment of this application. As shown in FIG. 1, the mobile communications system includes a core network device 110, an access network device 120, and at least one terminal (such as a terminal device 130 and a terminal device 140 in FIG. 1). The terminal is connected to the access network device 120 in a wireless manner, and the access network device 120 is connected to the core network device 110 in a wireless or wired manner. The core network device 110 and the access network device 120 may be different independent physical devices, or functions of the core network device 110 and logical functions of the access network device may be integrated into a same physical device, or one physical device may integrate some functions of the core network device 110 and some functions of the access network device 120. The terminal may be at a fixed location, or may be mobile. FIG. 1 is merely a schematic diagram, and the communications system may further include another network device, for example, may further include a wireless relay device and a wireless backhaul device (which are not drawn in FIG. 1). This embodiment of this application imposes no limitation on quantities of core network devices, access network devices, and terminals included in the mobile communications system.

The terminal in this embodiment of this application, such as the terminal 130 or the terminal 140, may be referred to as user equipment (UE), a terminal device, an access terminal, a subscriber unit, a subscriber station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a wireless communications device, a user agent, a user apparatus, or the like. The terminal may alternatively be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device or a computing device having a wireless communications function, another processing device connected to a wireless modem, an in-vehicle device, or a wearable device, a terminal in a future 5G network, a terminal in a future evolved public land mobile network (PLMN), or the like. This is not limited in this embodiment of this application.

A network device in this embodiment of this application, such as the access network device 120, may be a device configured to communicate with the terminal. The network device may be a base transceiver station (BTS) in a Global System for Mobile Communications (GSM) or in Code Division Multiple Access (CDMA), a NodeB (NB) in a Wideband Code Division Multiple Access (WCDMA) system, an evolved NodeB (eNB or eNodeB) in a Long Term Evolution (LTE) system, or a wireless controller in a cloud radio access network (CRAN) scenario. Alternatively, the network device may be a relay station, an access point, an in-vehicle device, a wearable device, a network device in a future 5G network, a network device in a future evolved PLMN network, or the like. This is not limited in this embodiment of this application.

A manner of restricting a precoding matrix subset in an LTE system is restricting vectors that can be selected for W₁. To be specific, a network device notifies a terminal of vectors that can be used by the terminal. If a specific vector is restricted, for example, a first vector is restricted, the first vector cannot appear in W₁ when the terminal selects a precoding matrix. However, because vectors close to the first vector have relatively strong energy in a direction of the first vector, the network device usually cannot restrict use of only the first vector but also needs to restrict the vectors close to the first vector. Therefore, vectors close to (or near) the first vector cannot appear in W₁, either. In this case, a relatively large quantity of precoding matrices cannot be used, and consequently, system performance deteriorates.

In the New Radio Access Technology (NR), a type II precoding matrix is defined: W=W₁×W₂. Currently, no technology is related to a solution for restricting a precoding matrix subset of the Type II precoding matrix W=W₁×W₂If the manner of restricting a precoding matrix in the LTE system is used, a relatively large quantity of precoding matrices cannot be used, and consequently, system performance deteriorates.

In view of this, this application provides a method for determining a precoding matrix set. A case in which a relatively large quantity of precoding matrices in a precoding matrix set cannot be used can be avoided by restricting product factors in W₂ that correspond to vectors instead of directly prohibiting use of the vector, thereby improving system performance.

The method for determining a precoding matrix set in an embodiment of this application may be applied to the Type II precoding matrix W in the NR, or applied to a precoding matrix W that satisfies the following condition:

W=W₁×W₂, where W is a matrix of N_(t) rows and R columns, N_(t) is a quantity of antenna ports, N_(t) is greater than or equal to R, R is a value of a rank, and W₁ satisfies the following:

$W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}$

where X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is an N_(t)2×1 vector, b_(k) _(i) belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M, and T is an integer; and

W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1.

For a precoding matrix set (denoted as a first precoding matrix set) including the precoding matrix W that satisfies the foregoing condition, according to the method for determining a precoding matrix set in this application, a terminal device may determine, from the first precoding matrix set based on indication information sent by a network device, a second precoding matrix set that can be used.

In this application, p_(z,y-1,x-1) ⁰ may represent a wideband amplitude, p_(z,y-1,x-1) ¹ may represent a subband amplitude, and p_(z,y-1,x-1) ² may represent a phase. The phase is represented by a complex number whose modulus is 1. When the element W₂(x,y) in row x and column y of W₂ is represented only by a product of p_(0,y-1,x-1) ⁰ and p_(0,y-1,x-1) ², it may be considered that p_(0,y-1,x-1) ¹=1. Likewise, for W₂(x+M,y), when W₂(x+M,y) is represented only by a product of p_(1,y-1,x-1) ⁰ and the phase p_(1,y-1,x-1) ², p_(1,y-1,x-1) ¹=1.

FIG. 2 is a schematic flowchart of a method for determining a precoding matrix set according to an embodiment of this application. The method may be applied to the precoding matrix W described above. The following describes, with reference to FIG. 2, in detail the method for determining a precoding matrix set in this embodiment of this application.

S210. A network device sends indication information to a terminal.

The indication information includes indication information of S sets D₀ to D_(S-1). D₀ to D_(S-1) are respectively in one-to-one correspondence with C₀ to C_(S-1), any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer.

S220. The terminal device determines, based on the indication information, a second precoding matrix set from a first precoding matrix set whose rank is R.

The second precoding matrix set is a proper subset of the first precoding matrix set, and the second precoding matrix set does not include W=W₁×W₂ that satisfies the following condition in the first precoding matrix set:

an x^(th) column vector included in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).

Specifically, the terminal device can determine, based on the indication information sent by the network device, D₀ to D_(S-1) that are in one-to-one correspondence with c₀ to c_(S-1) in the vector set C. The terminal device determines, based on the vector set C and the sets D₀ to D_(S-1), that if the x^(th) column vector included in X of W=W₁×W₂ in the first precoding matrix set is the vector c_(j) and the first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j), then W=W₁×W₂ is a prohibited precoding matrix. In other words, the precoding matrix cannot be used. After the prohibited precoding vector is removed from the first precoding matrix set, remaining precoding vectors form the second precoding matrix set. Alternatively, the terminal device determines, based on the vector set C and the sets D₀ to D_(S-1), that if X in W=W₁×W₂ does not belong to the vector set C, or the x^(th) column vector included in X of W=W₁×W₂ is the vector c_(j) but the first product factor p_(z,y-1,x-1) ⁰ of both the elements in row x and row x+M of W₂ do not belong to D_(j), then W=W₁×W₂ belongs to the second precoding matrix set.

According to the method for determining a precoding matrix set in this application, a case in which a relatively large quantity of precoding matrices in a precoding matrix set cannot be used can be avoided by restricting product factors in W₂ that correspond to vectors instead of directly prohibiting use of the vector, thereby improving system performance.

The following describes this embodiment of this application by using A₀={1, √{square root over (0.5)}, √{square root over (0.25)}, √{square root over (0.125)}, √{square root over (0.0625)}, √{square root over (0.0313)}, √{square root over (0.0156)},0} as an example.

For example, R=1 and T=32. Because T=32, B={b₀, b₁, . . . , b₃₁}. The vector set C is C={b₀, b₁}, and a set corresponding to b₀ is D₀={1, √{square root over (0.5)}}, a set corresponding to b₁ is D₁={1, √{square root over (0.5)}, √{square root over (0.25)}}, and elements of D₀ do not include √{square root over (0.125)} and √{square root over (0.25)}. Assuming that, in a first codebook set, a precoding matrix (denoted as W¹) satisfies W¹=W₁ ¹×W₂ ¹, another precoding matrix (denoted as W²) satisfies W²=W₁ ²×W₂ ², and:

${W_{1}^{2} = \begin{bmatrix} b_{0} & b_{1} & 0 \\ 0 & b_{0} & b_{1} \end{bmatrix}},{W_{2}^{1} = {\begin{bmatrix} {p_{0,0,0}^{0} \cdot p_{0,0,0}^{1} \cdot p_{0,0,0}^{2}} \\ {p_{0,0,1}^{0} \cdot p_{0,0,1}^{1} \cdot p_{0,0,1}^{2}} \\ {p_{1,0,0}^{0} \cdot p_{1,0,0}^{1} \cdot p_{1,0,0}^{2}} \\ {p_{1,0,1}^{0} \cdot p_{1,0,1}^{1} \cdot p_{1,0,1}^{2}} \end{bmatrix} = \begin{bmatrix} {\sqrt{0.5} \cdot p_{0,0,0}^{1} \cdot p_{0,0,0}^{2}} \\ {\sqrt{0.25} \cdot p_{0,0,1}^{1} \cdot p_{0,0,1}^{2}} \\ {\sqrt{0.5} \cdot p_{1,0,0}^{1} \cdot p_{1,0,0}^{2}} \\ {\sqrt{0.125} \cdot p_{1,0,1}^{1} \cdot p_{1,0,1}^{2}} \end{bmatrix}}}$ ${W_{1}^{2} = \begin{bmatrix} b_{0} & b_{1} & 0 \\ 0 & b_{0} & b_{1} \end{bmatrix}},{W_{2}^{2} = {\begin{bmatrix} {p_{0,0,0}^{0} \cdot p_{0,0,0}^{1} \cdot p_{0,0,0}^{2}} \\ {p_{0,0,1}^{0} \cdot p_{0,0,1}^{1} \cdot p_{0,0,1}^{2}} \\ {p_{1,0,0}^{0} \cdot p_{1,0,0}^{1} \cdot p_{1,0,0}^{2}} \\ {p_{1,0,1}^{0} \cdot p_{1,0,1}^{1} \cdot p_{1,0,1}^{2}} \end{bmatrix} = \begin{bmatrix} {\sqrt{0.125} \cdot p_{0,0,0}^{1} \cdot p_{0,0,0}^{2}} \\ {\sqrt{0.0625} \cdot p_{0,0,1}^{1} \cdot p_{0,0,1}^{2}} \\ {\sqrt{0.125} \cdot p_{1,0,0}^{1} \cdot p_{1,0,0}^{2}} \\ {\sqrt{0.125} \cdot p_{1,0,1}^{1} \cdot p_{1,0,1}^{2}} \end{bmatrix}}}$

Therefore, W¹ may be expressed as follows:

$W^{1} = {{W_{1}^{1} \times W_{2}^{1}} = {\begin{bmatrix} {b_{0} \times \left( {p_{0,0,0}^{0} \cdot p_{0,0,0}^{1} \cdot p_{0,0,0}^{2}} \right)} \\ {b_{0} \times \left( {p_{1,0,0}^{0} \times {p_{1,0,0}^{1} \cdot p_{1,0,0}^{2}}} \right)} \end{bmatrix} + {\quad\begin{bmatrix} {b_{1} \times \left( {p_{0,0,1}^{0} \cdot p_{0,0,1}^{1} \cdot p_{0,0,1}^{2}} \right)} \\ {b_{1} \times \left( {p_{1,0,1}^{0} \cdot p_{1,0,1}^{1} \cdot p_{1,0,1}^{2}} \right)} \end{bmatrix}}}}$

W² has a same expression form. Correspondences exist between a vector b₀ and first product factors p_(0,0,0) ⁰, and p_(1,0,0) ⁰, between b₀ and second product factors p_(0,0,0) ¹ and p_(1,0.0) ¹, and between b₀ and third product factors p_(0,0,0) ² and p_(1,0,0) ². Correspondences exist between a vector b₁ and the first product factors p_(0,0,1) ⁰ and p_(1,0,1) ⁰, between b₁ and the second product factors p_(0,0,1) ¹ and p_(1,0,1) ¹, and between b₁ and the third product factors p_(0,0,1) ² and p_(1,0,1) ².

For W¹, a vector b₀ in column 1 of W₁ ¹ belongs to the vector set C, and a product factor √{square root over (0.5)} of elements in row 1 of W₂ ¹ belongs to D₀. Therefore, it may be determined that the second precoding matrix set does not include W¹. In other words, W¹ does not belong to the second precoding matrix set.

For W², although a vector b₀ in column 1 and column 3 of W₁ ² belongs to the vector set C, a product factor √{square root over (0.125)} of elements in row 1 and row 3 of W₂ ² does not belong to D₀. A vector b₁ in column 2 and column 4 of W₁ ² belongs to the vector set C, but neither a product factor √{square root over (0.0625)} nor a product factor √{square root over (0.125)} of elements in row 2 and row 4 of W₂ ² belongs to D₁. Therefore, it may be determined that W² belongs to the second precoding matrix set.

It should be understood that the foregoing W¹ and W² are a specific example of a matrix that satisfies W=W₁×W₂ in the first precoding matrix set, W₁ ¹ and W₁ ² are two specific examples of W₁ and W₂ ¹ and W₂ ² are two specific examples of W₂.

The following describes in detail the indication information sent by the network device.

The following describes in detail several possible formats of the indication information (denoted as indication information of the S sets D₀ to D_(S-1). It should be understood that a manner of determining the vector set C by the terminal device is not limited in this embodiment of this application.

Format 1

Indication information #1 includes S bit fields, the S bit fields are in one-to-one correspondence with D₀ to D_(S-1), each bit field includes at least one bit, and a bit field corresponding to D_(j) indicates an element (denoted as g_(j)) of A₀. Any element of D_(j) is greater than g_(j).

For example, the terminal device may determine, based on the indication information, that the vector set C satisfies: C={c₀, c₁, . . . , c_(S-1)}={b₀, b₁, . . . , b₆} and S=7. The indication information sent by the network device includes seven bit fields (denoted as a bit field #1 to a bit field #7). The bit field #1 to the bit field #7 are in one-to-one correspondence with seven vectors in the vector set C. To be specific, the bit field #1 corresponds to b₀, the bit field #2 corresponds to b₁, . . . , and the bit field #7 corresponds to b₆. Each bit field includes three bits, and each bit field indicates an element of A₀. The terminal device can determine D₀ to D₆ based on the bit field #1 to the bit field #7. Description is given with reference to Table 1.

TABLE 1 b₀ b₁ b₂ b₃ b₄ b₅ b₆ Bit field Bit field Bit field Bit field Bit field Bit field bit field #1 #2 #3 #4 #5 #6 #7 [0 0 1] [0 1 0] [0 1 1] [1 0 0] [1 0 1] [1 1 0] [1 1 1] {square root over (0. 0156)} {square root over (0. 0313)} {square root over (0. 0625)} {square root over (0. 125)} {square root over (0. 25)} {square root over (0. 5)} 1

Referring to Table 1, the bit field #1 is 001, indicating an element √{square root over (0.0156)} of A₀. All elements greater than √{square root over (0.0156)} in A₀ form D₀, that is: D ₀={1,√{square root over (0.5)},√{square root over (0.25)},√{square root over (0.125)},√{square root over (0.0625)},√{square root over (0.0313)}}

Likewise, D₀ to D₆ may be determined respectively based on the bit field #2 to the bit field #5.

In the prior art, usually a bitmap manner is used for indication. In the present invention, the bitmap manner may be used to indicate each available amplitude of each restricted vector. For example, if A0 has eight amplitudes to be selected, each vector needs eight bits to indicate a restricted amplitude of the vector. However, in the present invention, once an amplitude is restricted for use, usually all amplitudes greater than or equal to the amplitude are restricted for use. Therefore, a manner of indicating one of amplitudes of A0 may be used for restriction. In this way, each vector needs only three bits to determine a restricted amplitude value of the vector.

Format 2

A₀ includes F elements. Indication information #1 includes S bit fields, the S bit fields are in one-to-one correspondence with D₀ to D_(S-1), each bit field includes F bits, and the F bits are used respectively to indicate the F elements of A₀. In the F bits of a bit field corresponding to D_(j), an element of A₀ indicated by a bit that is 0 or 1 belongs to D_(j).

For example, the terminal device may determine, based on the indication information, that the vector set C satisfies: C={c₀, c₁, . . . , c_(S-1)}={b₀, b₁, . . . , b₆}, S=7, and F=8. The indication information #1 includes seven bit fields (denoted as a bit field #1 to a bit field #7). The bit field #1 to the bit field #7 are in one-to-one correspondence with seven vectors in the vector set C. To be specific, the bit field #1 corresponds to b₀, the bit field #2 corresponds to b₁, . . . , and the bit field #7 corresponds to b₆. Each bit field includes eight bits. In an order from a most significant bit to a least significant bit, bits of a bit field respectively indicate a first element to an eighth element of A₀. A value indicated by a bit that is 0 or 1 belongs to D_(j). For example, if a bit that is 0 indicates that a value indicated by the bit belongs to D_(i) Do to D₆ may be determined based on the bit field #1 to the bit field #7. Description is given with reference to Table 2.

TABLE 2 b₀ b₁ b₂ b₃ b₄ b₅ b₆ Bit field #1 Bit field #2 Bit field #3 Bit field #4 Bit field #5 Bit field #6 Bit field #7 11000000 11100000 11100000 11010000 00001100 00000110 11011000

Referring to Table 2, the bit field #1 is 11000000. It may be determined that a set D₀ corresponding to the bit field #1 is D₀={1, √{square root over (0.5)}, √{square root over (0.25)}, √{square root over (0.125)}, √{square root over (0.0625)}, √{square root over (0.0313)}}. If the bit field #2 is 11100000, it may be determined that a set D_(j) corresponding to the bit field #2 is D₁={1, √{square root over (0.5)}, √{square root over (0.25)}, √{square root over (0.125)}, √{square root over (0.0625)}}. Likewise, D₂ to D₆ may be determined respectively based on the bit field #3 to the bit field #7.

For the foregoing Format 1 and Format 2, further, the indication information of the S sets D₀ to D_(S-1) is T bit fields, the T bit fields correspond to T vectors in a vector set B, and S≤T. A t^(th) bit field in the T bit fields is used to indicate whether a vector b_(t) belongs to the vector set C, where 0≤t≤T−1. S bit fields in the T bit fields determine both S vectors in the vector set C and D₀ to D_(S-1).

For example, in the foregoing Format 1, a t^(th) bit field in the S bit fields is 111. A value determined by the bit field is 1, indicating that all elements of A₀ can be used. Therefore, it may be determined that a vector b_(t-1) does not belong to C.

Optionally, the indication information may further include indication information (denoted as indication information #2) of the vector set C. The indication information #2 includes T bits, the T bits are in one-to-one correspondence with T vectors included in B, and a t^(th) bit in the T bits is used to indicate whether a vector b_(t-1) belongs to the vector set C where 1≤t≤T.

For example, T=8, the indication information #2 includes eight bits, the eight bits, in an order a most significant bit to a least significant bit, respectively correspond to b₀, b₁, . . . , b₇, and a bit that is 0 indicates that the vector b_(t) belongs to the vector set C. If the indication information #2 is 00111111, it may be determined that b₀ and b₁ belong to the vector set C.

It should be understood that the indication information #2 herein is different from the indication information #1.

Optionally, the indication information may be used to indicate b_(f) _(h) and k_(h), the terminal may determine the vector set C and the sets D₀ to D_(S-1) based on b_(f) _(h) and k_(h), and further the terminal may determine the second precoding matrix set. For example, the terminal may determine C and the sets D₀ to D_(S-1) based on b_(f) _(h) and k_(h) in the following two manners.

Manner 1

Any vector of c_(j) of C and any element D_(j)(v) of D_(j) satisfy the following condition: |D _(j)(v)×(b _(f) _(h) )^(H) ×c _(j) |>k _(h)

where D_(f) _(h) is a vector of B, k_(h)≥0, k_(h) is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.

Specifically, the terminal device can obtain b_(f) _(h) and k_(h) based on the indication information sent by the network device; determine, based on b_(f) _(h) and k_(h), the vector set C and the sets D₀ to D_(S-1) that satisfy the foregoing relational expression; and then determine the second precoding matrix set.

Manner 2

C includes at least M mutually orthogonal vectors, and any mutually M orthogonal vectors c_(j) ₀ , c_(f) ₁ , . . . , c_(j) _(M-1) and elements D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) satisfy the following condition:

$\frac{\begin{matrix} {{{{D_{j_{0}}\left( v_{0} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{0}}}}^{2} + {{{D_{j\; 1}\left( v_{1} \right)} \times \left( b_{f_{h}} \right)^{H} \times}}} \\ {{{c_{j\; 1}}^{2} + \ldots}\mspace{14mu},{+ {{{D_{j_{M - 1}}\left( v_{M - 1} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{M - 1}}}}^{2}}} \end{matrix}}{{{D_{j_{0}}\left( v_{0} \right)}}^{2} + {{D_{j_{1}}\left( v_{1} \right)}}^{2} + \ldots + {{D_{j_{M - 1}}\left( v_{M - 1} \right)}}^{2}} > k_{h}$

where D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) are elements of sets D_(j) ₀ , D_(j) ₁ , . . . , D_(j) _(M-1) respectively, b_(f) _(h) is a vector of B, k_(h)≥0, k_(h) is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.

Specifically, the terminal device can obtain b_(f) _(h) and k_(h) based on the indication information sent by the network device; determine, based on b_(f) _(h) and k_(h), the vector set C and the sets D₀ to D_(S-1) that satisfy the foregoing relational expression; and then determine the second precoding matrix set.

In this manner, at least M orthogonal vectors are simultaneously restricted. Because X in W1 includes M vectors, this manner actually restricts the M vectors included in W1. Because a codebook is formed by a linear combination of the vectors in W1, this manner can achieve more accurate restriction of the codebook.

For example, T=8, the vector set B includes eight vectors b₀, b₁, . . . , b₇, and M=2, where the vector b₀ is orthogonal to the vector b₄, the vector b₁ is orthogonal to b₅, the vector b₂ is orthogonal to b₆, and the vector b₃ is orthogonal to the vector b₇. The network device notifies the terminal device of b_(f) ₁ =b₀, k₁=0.5, and H=1 by using the indication information; and the terminal device sequentially substitutes (b₀, b₄), (b₁, b₅), (b₂, b₆), and (b₃, b₇) into the formula in Manner 2. The following uses (b₀, b₄) as an example:

A first product factor corresponding to b₀ is a₀, a first product factor corresponding to b₁ is a₁, a₀ belongs to A₀, and a₁ belongs to A₀. If

${\frac{{{a_{0} \times \left( b_{0} \right)^{H} \times b_{0}}}^{2} + {{a_{1} \times \left( b_{0} \right)^{H} \times b_{1}}}^{2}}{{a_{0}}^{2} + {a_{1}}^{2}} > 0.5},$

the vectors b₀ and b₁ belong to C, a₀ belongs to D₀, and a₁ belongs to D₁. All first product factors in A₀ are traversed. All a₀ satisfying the foregoing formula belong to the set D₀, and all a₁ satisfying the foregoing formula belong to the set D₁.

(b₁, b₅), (b₂, b₆), and (b₃, b7) are traversed, and all first factors in A₀ that correspond to each pair of orthogonal vectors are traversed. Vectors satisfying the foregoing formula belong to the set C, and a first product factor corresponding to each vector and satisfying the condition belongs to a set D_(j) corresponding to the vector.

The following specifically describes how the terminal device determines b_(f) _(h) and k_(h).

Optionally, the indication information sent by the network device may include indication information (denoted as indication information #3) of k_(h).

In a possible implementation, the indication information #3 may include H bit fields, and an h^(th) bit field in the H bit fields is used to indicate k_(h).

For example, k_(h)∈{1, 0.5, 0.25, 0}. Each bit field includes two bits used to indicate a value of {1,0.5,0.25,0}. Assuming that H=6, six bit fields included in the indication information are denoted as a bit field #1 to a bit field #6. Description is given with reference to Table 3

TABLE 3 Bit field #1 Bit field #2 Bit field +#3 Bit field #4 Bit field #5 Bit field #6 00 01 10 11 10 11 0 0.25 0.5 1 0.5 1

The bit field #1 to the bit field #6 respectively indicate k₁=0, k₂=0.25, k₃=0.5, k₄=1, k₅=0.5, and k₆=1. In the vector set B, an f₁−1^(th) vector, an f₂−1^(th) vector, an f₃−1^(th) vector, an f₄−1^(th) vector, an f₅−1^(th) vector, and an f₆−1^(th) vector are b_(f) ₁ , b_(f) ₂ , b_(f) ₃ , b_(f) ₄ , b_(f) ₅ , b_(f) ₆ respectively, which correspond to the bit field #1, the bit field #2, the bit field #3, the bit field #4, the bit field $5, and the bit field #6. For example, for the bit field #2 corresponding to b_(f) ₂ , a threshold of the bit field #2 is k₂=0.25.

In this manner, the vector set C and D_(j) can be determined by using indication information including a relatively small quantity of bits. In an extreme case, at least two vectors and D_(j) that corresponds to each of the at least two vectors can be determined by using only one bit field (H=1).

Optionally, the indication information sent by the network device may include indication information (denoted as indication information #4) of b_(f) _(h) , and the terminal device may determine b_(f) _(h) based on the indication information #4.

In a possible implementation, the indication information #4 includes H bits, and an h^(th) bit is used to indicate b_(f) _(h) .

For example, H=4, the indication information sent by the network device includes T bits, and the T bits are in one-to-one correspondence with T vectors in T vector sets B. For example, T=8, a bitmap is 00001111, the indication information #4 includes four least significant bits of the bitmap, and an h^(th) bit in the four least significant bits indicates b_(h).

Optionally, in this embodiment of this application, the indication information may alternatively be indication information #5. The indication information #5 may indicate both the vector set C and D₀ to D_(S-1).

Specifically, the indication information #5 is T bit fields. The T bit fields are in one-to-one correspondence with T vectors included in B, each of the T bit fields includes E bits, E is greater than or equal to 1, and a t^(th) bit field in the T bit fields is used to indicate whether a vector b_(t-1) belongs to the vector set C, where 1≤t≤T.

In this manner, a bitmap of the T bits is used to determine a restricted vector, and the indication information of the S sets D₀ to D_(S-1) includes only S or H bit fields. In this way, when S is relatively small, a quantity of bits required for indicating the S sets D₀ to D_(S-1) can be reduced.

In a possible implementation, each bit field indicates an element of A₀, and if a set including elements greater than or equal to an element indicated by a specific bit group is a proper subset of A₀, a vector indicated by the bit group belongs to the vector set C.

For example, E=3, T=8, and S=7. The indication information sent by the network device includes eight bit fields (denoted as a bit field #1 to a bit field #8). The bit field #1 to the bit field #8 are in one-to-one correspondence with T vectors in the vector set B. To be specific, the bit field #1 corresponds to b₀, the bit field #2 corresponds to b₁, . . . , and the bit field #8 corresponds to b₇. Each bit field includes three bits, and each bit field indicates an element of A₀. Description is given with reference to Table 4.

TABLE 4 b₀ b₁ b₂ b₃ b₄ b₅ b₆ b₇ Bit field #1 Bit field #2 Bit field #3 Bit field #4 Bit field #5 Bit field #6 Bit field #7 Bit field #8 [0 0 0] [0 0 1] [0 1 0] [0 1 1] [1 0 0] [1 0 1] [1 1 0] [1 1 1] 0 {square root over (0 .0156)} {square root over (0. 0313)} {square root over (0. 0625)} {square root over (0. 125)} {square root over (0. 25)} {square root over (0. 5)} 1

Referring to Table 4, each of the bit field #2 to the bit field #8 is used to indicate a non-zero element of A₀. The bit field #2 to the bit field #8 are in one-to-one correspondence with vectors in the set C, and the bit field #2 to the bit field #8 may be used to indicate D₀ to D₆.

For example, the bit field #2 is 001, indicating an element √{square root over (0.0156)} of A₀. All elements greater than √{square root over (0.0156)} in A₀ form D₀, that is: D ₀={1,√{square root over (0.5)},√{square root over (0.25)},√{square root over (0.125)},√{square root over (0.0625)},√{square root over (0.0313)}}

Likewise, D₁ to D₆ may be determined respectively based on the bit field #3 to the bit field #8.

The bit field #1 is 000, indicating an element 0 of A₀. All elements greater than 0 in A₀ form b₀, which corresponds to a set {1, √{square root over (0.5)}, √{square root over (0.25)}, √{square root over (0.125)}, √{square root over (0.0625)}, √{square root over (0.0313)}, √{square root over (0.0156)}}. The set is A₀; therefore, b₀ does not belong to the vector set C.

In another possible implementation, the E bits are respectively used to indicate E elements of A₀. If bits of a specific bit field are all zeros or all ones, it indicates that a vector corresponding to the bit field does not belong to the vector set C, and a vector corresponding to a bit field whose bits are not all zeros or ones belongs to the vector set C.

For example, E=8, T=8, and S=7. The indication information sent by the network device includes eight bit fields (denoted as a bit field #1 to a bit field #8). The bit field #1 to the bit field #8 are in one-to-one correspondence with T vectors in the vector set B. To be specific, the bit field #1 corresponds to b₀, the bit field #2 corresponds to b₁ . . . and the bit field #8 corresponds to b₇.

Each bit field includes eight bits. In an order from a most significant bit to a least significant bit, bits of a bit field respectively indicate a first element to an eighth element of A0. A bit that is 0 or 1 indicates that a corresponding element belongs to D_(j). For example, a bit that is 0 indicates that a corresponding element belongs to D_(j). If the bit field #1 is 11000000, it may be determined that a set D₀ corresponding to the bit field #1 is D₀={1, √{square root over (0.5)}, √{square root over (0.25)}, √{square root over (0.125)}, √{square root over (0.0625)}, √{square root over (0.0313)}}. If the bit field #2 is 11100000, it may be determined that a set D₁ corresponding to the bit field #2 is D₁={1, √{square root over (0.5)}, √{square root over (0.25)}, √{square root over (0.125)}, √{square root over (0.0625)}}. If the bit field #8 is 11111111, it indicates that all elements in A₀ can be used and then b₇ corresponding to the bit field #8 does not belong to the vector set C. Bit fields separately corresponding to the bit field #3 to the bit field #7 are not all ones, and D₁ to D₆ may be determined respectively based on the bit field #3 to the bit field #7.

Optionally, a value range of p_(z,y-1,x-1) ¹ is a set A₁, the indication information is further used to indicate S sets E₀ to E_(S-1) are respectively in one-to-one correspondence with c₀, to c_(S-1), and E_(j) is a proper subset of A₁.

The second precoding matrix set still does not include W=W₁×W₂ that satisfies the following condition in the first precoding matrix set:

the x^(th) column vector included in X of W₁ is the vector c_(j), and a second product factor p_(z,y-1,x-1) ¹ of at least one of elements in row x and row x+M of W₂ that corresponds to c_(j) belongs to E_(j).

Specifically, the S sets E₀ to E_(S-1) may be indicated with reference to the foregoing described method. The terminal device may determine the second precoding matrix set based on the set C, the sets D₀ to D_(S-1), and the sets E₀ to E_(S-1). For brevity, details about how the indication information indicates the sets E₀ to E_(S-1) are not described herein again.

According to the method in this embodiment of this application, more refined codebook restriction can be achieved by restricting both a wideband amplitude and a subband amplitude.

It should be understood that, in this embodiment of this application, p_(z,y-1,x-1) ¹ may be 1, and the element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ², and the element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ².

Optionally, in this embodiment of this application, the network device may send the plurality of pieces of indication information by using higher layer signaling. In other words, the higher layer signaling may carry the plurality of pieces of indication information.

For example, the higher layer signaling may be radio resource control (RRC) signaling or a Media Access Control-control element (MAC CE).

Optionally, the method may further include:

S230. The network device sends a CSI-RS to the terminal device.

S240. The terminal device determines a channel matrix based on the CSI-RS, and determines, based on the channel matrix, a first PMI used to indicate W₁ and a second PMI used to indicate W₂.

The network device may determine, based on the first PMI and the second PMI, a precoding matrix to be used when the network device sends data to the terminal device.

FIG. 3 is a schematic block diagram of a communications apparatus according to an embodiment of this application. The communications apparatus 300 shown in FIG. 3 includes a receiving unit 310 and a processing unit 320.

The receiving unit 310 is configured to receive indication information.

The processing unit 320 is configured to determine, based on the indication information received by the receiving unit, a second precoding matrix set from a first precoding matrix set whose rank is R.

Each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R, W₁ satisfies

${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is an N_(t)/2×1 vector, b_(k) _(i) belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M, T is an integer, W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1.

The indication information includes indication information of S sets D₀ to D_(S-1), D₀ to D_(S-1) are respectively in one-to-one correspondence with c₀ to c_(S-1) in a vector set C={c₀, c₁, . . . , c_(S-1)}, any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer.

The second precoding matrix set is a proper subset of the first precoding matrix set, and the second precoding matrix set does not include W=W₁×W₂ that satisfies the following condition in the first precoding matrix set:

an x^(th) column vector included in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).

FIG. 4 is a schematic block diagram of a communications apparatus according to an embodiment of this application. The communications apparatus 400 shown in FIG. 4 includes a processing unit 410 and a sending unit 420.

The processing unit 410 is configured to generate indication information, where the indication information is used by a terminal device to determine a second precoding matrix set from a first precoding matrix set whose rank is R.

The sending unit 420 is configured to send the indication information generated by the processing unit 410.

Each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂. W is a matrix of N_(t), rows and R columns, N_(t) is greater than or equal to R, W₁ satisfies

${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is an N_(t)/2×1 vector, b_(k) _(i) belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M, T is an integer, W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}1≥p_(z,y-1,x-1) ⁰≤0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1.

The indication information includes indication information of S sets D₀ to D_(S-1), D₀ to D_(S-1) are respectively in one-to-one correspondence with c₀ to c_(S-1) in a vector set C={c₀, c₁, . . . , c_(S-1)}, any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer.

The second precoding matrix set is a proper subset of the first precoding matrix set, and the second precoding matrix set does not include W=W₁×W₂ that satisfies the following condition in the first precoding matrix set:

an x^(th) column vector included in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).

Optionally, in an embodiment, the indication information of the S sets D₀ to D_(S-1) includes S bit fields, the S bit fields are in one-to-one correspondence with D₀ to D_(S-1), each bit field includes at least one bit, a bit field corresponding to D_(j) indicates an element g_(j) of A₀, and any element of D_(j) is greater than g_(j).

Optionally, in an embodiment, any vector c_(j) of C and any element D_(j)(v) of D_(j) satisfy the following condition: |D _(j)(v)×(b _(f) _(h) )^(H) ×c _(j) |k _(h)

where b_(f) _(h) is a vector of B, k_(h)≥0, k_(h), is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.

Optionally, in an embodiment, C includes at least M mutually orthogonal vectors, and any M mutually orthogonal vectors c_(j) ₀ , c_(j) ₁ , . . . , c_(j) _(M-1) and elements D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) satisfy the following condition:

$\frac{\begin{matrix} {{{{D_{j_{0}}\left( v_{0} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{0}}}}^{2} + {{{D_{j\; 1}\left( v_{1} \right)} \times \left( b_{f_{h}} \right)^{H} \times}}} \\ {{{c_{j\; 1}}^{2} + \ldots}\mspace{14mu},{+ {{{D_{j_{M - 1}}\left( v_{M - 1} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{M - 1}}}}^{2}}} \end{matrix}}{{{D_{j_{0}}\left( v_{0} \right)}}^{2} + {{D_{j_{1}}\left( v_{1} \right)}}^{2} + \ldots + {{D_{j_{M - 1}}\left( v_{M - 1} \right)}}^{2}} > k_{h}$

where D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) are elements of sets D_(j) ₀ , D_(j) ₁ , . . . , D_(j) _(M-1) respectively, b_(f) _(h) is a vector of B, k_(h)≥0, k_(h) is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.

Optionally, in an embodiment, the indication information of the S sets D₀ to D_(S-1) includes H bit fields, and an h^(th) bit field is used to indicate k_(h).

Optionally, in an embodiment, the indication information further includes indication information of the vector set C, the indication information of the vector set C is T bits, the T bits are in one-to-one correspondence with T vectors included in B, and a t^(th) bit in the T bits is used to indicate whether a vector b_(t-1) belongs to the vector set C, where 1≤t≤T.

Optionally, in an embodiment, the indication information of the S sets D₀ to D_(S-1) is further used to indicate the vector set C, the indication information of the S sets D₀ to D_(S-1) is T bit fields, the T bit fields are in one-to-one correspondence with T vectors included in B, each of the T bit fields includes E bits, E is greater than or equal to 1, and a t^(th) bit field in the T bit fields is used to indicate whether a vector b_(t-1) belongs to the vector set C, where 1≤t≤T.

Optionally, in an embodiment, a value range of p_(z,y-1,x-1) ¹ is a set A₁;

the indication information further includes indication information of S sets E₀ to E_(S-1), E₀ to E_(S-1) are respectively in one-to-one correspondence with c₀ to c_(S-1) in the vector set C={c₀, c₁, . . . , c_(S-1)}, and E_(j) is a proper subset of A₁; and

the second precoding matrix set still does not include W=W₁×W₂ that satisfies the following condition in the first precoding matrix set:

the x^(th) column vector included in X of W₁ is the vector c_(j), and a second product factor p_(z,y-1,x-1) ¹ of at least one of elements in row x and row x+M of W₂ that corresponds to c_(j) belongs to E_(j).

In an optional embodiment, the receiving unit 310 may be a transceiver 540, the processing unit 320 may be a processor 520, and the communications apparatus may further include an input/output interface 530 and a memory 510, specifically as shown in FIG. 5.

FIG. 5 is a schematic block diagram of a terminal device according to another embodiment of this application. The terminal device can perform all the methods in the foregoing embodiments; therefore, for specific details, refer to descriptions in the foregoing embodiments. Details are not described herein again to avoid repetition. The terminal device 500 shown in FIG. 5 may include: a memory 510, a processor 520, an input/output interface 530, and a transceiver 540. The memory 510, the processor 520, the input/output interface 530, and the transceiver 540 are connected to each other by using an internal connection path. The memory 510 is configured to store an instruction. The processor 520 is configured to execute the instruction stored in the memory 510, to control the input/output interface 530 to receive data and information that are input, and output data such as an operation result, and to control the transceiver 540 to send a signal.

The transceiver 540 is configured to receive indication information.

The processor 520 is configured to determine, based on the indication information received by the transceiver 540, a second precoding matrix set from a first precoding matrix set whose rank is R.

Each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R, W₁ satisfies

${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is an N_(t)/2×1 vector, b_(k) _(i) belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M, T is an integer, W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², an element W₂(x+M,y), in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1.

The indication information includes indication information of S sets D₀ to D_(S-1), D₀ to D_(S-1) are respectively in one-to-one correspondence with c₀ to c_(S-1) in a vector set C={c₀, c₁, . . . , c_(S-1)}, any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer.

The second precoding matrix set is a proper subset of the first precoding matrix set, and the second precoding matrix set does not include W=W₁×W₂ that satisfies the following condition in the first precoding matrix set:

an x^(th) column vector included in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).

It should be understood that, in this embodiment of this application, the processor 520 may use a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits to execute a related program to implement the technical solutions provided in this embodiment of this application.

It should be further understood that the transceiver 540 is also referred to as a communications interface, and uses a transceiver apparatus, for example but not limited to a transceiver, to implement communication between the terminal device 500 and another device or a communications network.

The memory 510 may include a read-only memory and a random access memory, and provides the processor 520 with data and an instruction. A part of the processor 520 may further include a non-volatile random access memory. For example, the processor 520 may further store device type information.

During implementation, the steps in the foregoing methods may be completed by an integrated logic circuit of hardware in the processor 520 or by an instruction in a software form. The methods for determining a precoding matrix set disclosed in the embodiments of this application may be directly embodied as being executed by a hardware processor, or executed by a combination of hardware of a processor and a software module. The software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, or a register. The storage medium is located in the memory 510. The processor 520 reads information in the memory 510, to complete the steps of the methods in combination with hardware of the processor 520. Details are not described herein again to avoid repetition.

It should be understood that, in this embodiment of this application, the processor may be a central processing unit (CPU), or the processor may be another general purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, or the like. The general purpose processor may be a microprocessor, or the processor may be any conventional processor or the like.

In an optional embodiment, the sending unit 420 may be a transceiver 640, the processing unit 410 may be a processor 620, and the communications apparatus may further include an input/output interface 630 and a memory 610, specifically as shown in FIG. 6.

FIG. 6 is a schematic block diagram of a network device according to another embodiment of this application. The network device can perform all the methods in the foregoing embodiments; therefore, for specific details, refer to descriptions in the foregoing embodiments. Details are not described herein again to avoid repetition. The network device 600 shown in FIG. 6 may include: a memory 610, a processor 620, an input/output interface 630, and a transceiver 640. The memory 610, the processor 620, the input/output interface 630, and the transceiver 640 are connected to each other by using an internal connection path. The memory 610 is configured to store an instruction. The processor 620 is configured to execute the instruction stored in the memory 610, to control the input/output interface 630 to receive data and information that are input, and output data such as an operation result, and to control the transceiver 640 to send a signal.

The processor 620 is configured to generate indication information, where the indication information is used by a terminal device to determine a second precoding matrix set from a first precoding matrix set whose rank is R.

The transceiver 640 is configured to send the indication information generated by the processor.

Each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R, W₁ satisfies

${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) , is an N_(t)/2×1 vector, b_(k) _(i) belongs to a vector set B={b₀, b₁, . . . b_(T-1)}, T is a quantity of vectors in B, T≥M, T is an integer, W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1.

The indication information includes indication information of S sets D₀ to D_(S-1), D₀ to D_(S-1) are respectively in one-to-one correspondence with c₀ to c_(S-1) in a vector set C={c₀, c₁, . . . , c_(S-1)}, any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer.

The second precoding matrix set is a proper subset of the first precoding matrix set, and the second precoding matrix set does not include W=W₁×W₂ that satisfies the following condition in the first precoding matrix set:

an x^(th) column vector included in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).

It should be understood that, in this embodiment of this application, the processor 620 may use a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits to execute a related program to implement the technical solutions provided in this embodiment of this application.

It should be further understood that the transceiver 640 is also referred to as a communications interface, and uses a transceiver apparatus, for example but not limited to a transceiver, to implement communication between the terminal 600 and another device or a communications network.

The memory 610 may include a read-only memory and a random access memory, and provides the processor 620 with data and an instruction. A part of the processor 620 may further include a non-volatile random access memory. For example, the processor 620 may further store device type information.

During implementation, the steps in the foregoing methods may be completed by an integrated logic circuit of hardware in the processor 620 or by an instruction in a software form. The methods for determining a precoding matrix set disclosed in the embodiments of this application may be directly embodied as being executed by a hardware processor, or executed by a combination of hardware of a processor and a software module. The software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, or a register. The storage medium is located in the memory 610. The processor 620 reads information in the memory 610, to complete the steps of the methods in combination with hardware of the processor 620. Details are not described herein again to avoid repetition.

It should be understood that, in this embodiment of this application, the processor may be a central processing unit (CPU), or the processor may be another general purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, or the like. The general purpose processor may be a microprocessor, or the processor may be any conventional processor or the like.

A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, hut it should not be considered that the implementation goes beyond the scope of this application.

It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of each foregoing system, apparatus, or unit, reference may be made to a corresponding process in the foregoing method embodiments, and details are not described herein again.

In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods may be implemented in other manners. For example, the described apparatus embodiments are merely examples. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.

The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual requirements to achieve the objectives of the solutions of the embodiments.

In addition, functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.

When the functions are implemented in the form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the prior art, or some of the technical solutions may be implemented in a form of a software product. The software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the methods described in the embodiments of this application. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disc, or the like.

The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims. 

What is claimed is:
 1. An apparatus, comprising: a processor; a memory, configured to store at least one computer instruction which, when executed by the processor, caused the processor to perform following operations: receiving, indication information of S sets D₀ to D_(S-1), wherein each member of the S sets D₀ to D_(S-1) corresponds to a respective element in a vector set C={c₀, c₁, . . . , c_(S-1)}; and determining, a second precoding matrix set from a first precoding matrix set whose rank is R based on the indication information, wherein: each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R; W₁ satisfies ${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k), is a vector that has a length of N_(t)/2 and that belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M; W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², and an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², wherein p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, wherein 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1; any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer; and the second precoding matrix set is a proper subset of the first precoding matrix set, and none of precoding matrices W=W₁×W₂ in the first precoding matrix set that satisfies the following condition is included in the second precoding matrix set: an x^(th) column vector comprised in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).
 2. The apparatus according to claim 1, wherein the indication information of the S sets D₀ to D_(S-1) comprises S bit fields, the S bit fields are in one-to-one correspondence with D₀ to D_(S-1), each bit field comprises at least one bit, a bit field corresponding to D_(j) indicates an element g_(j) of A₀, and any element of D_(j) is greater than g_(j).
 3. The apparatus according to claim 1, wherein any vector c_(j) of C and a corresponding element D_(j)(v) of D_(j) satisfy the following condition: |D _(j)(v)×(b _(f) _(h) )^(H) ×c _(j) |>k _(h) wherein b_(f) _(h) is a vector of B, k_(h)≥0, k_(h) is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.
 4. The apparatus according to claim 1, wherein C comprises at least M mutually orthogonal vectors, and any mutually M orthogonal vectors c_(j) ₀ , c_(j) ₁ , . . . , C_(j) _(M-1) and corresponding elements D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) satisfy the following condition: $\frac{\begin{matrix} {{{{D_{j_{0}}\left( v_{0} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{0}}}}^{2} + {{{D_{j\; 1}\left( v_{1} \right)} \times \left( b_{f_{h}} \right)^{H} \times}}} \\ {{{c_{j\; 1}}^{2} + \ldots}\mspace{14mu},{+ {{{D_{j_{M - 1}}\left( v_{M - 1} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{M - 1}}}}^{2}}} \end{matrix}}{{{D_{j_{0}}\left( v_{0} \right)}}^{2} + {{D_{j_{1}}\left( v_{1} \right)}}^{2} + \ldots + {{D_{j_{M - 1}}\left( v_{M - 1} \right)}}^{2}} > k_{h}$ wherein D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) are elements of sets D_(j) ₀ , D_(j) ₁ , . . . , D_(j) _(M-1) , respectively, b_(f) _(h) is a vector of B, k_(h)≥0, k_(h) is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.
 5. The apparatus according to claim 4, wherein the indication information of the S sets D₀ to D_(S-1) comprises H bit fields, and an h^(th) bit field indicates k_(h).
 6. A non-transitory computer readable storage medium storing computer instructions, that when executed by one or more hardware processors, cause a computer to perform operations comprising: receiving, indication information of S sets D₀ to D_(S-1), wherein each member of the S sets D₀ to D_(S-1) corresponds to a respective element in a vector set C={c₀, c₁, . . . , c_(S-1)}; and determining, a second precoding matrix set from a first precoding matrix set whose rank is R based on the indication information, wherein: each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R; W₁ satisfies ${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is a vector that has a length of N_(t)/2 and that belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M; W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², and an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², wherein p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, wherein 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1; any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer; and the second precoding matrix set is a proper subset of the first precoding matrix set, and none of precoding matrices W=W₁×W₂ in the first precoding matrix set that satisfies the following condition is included in the second precoding matrix set: an x^(th) column vector comprised in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).
 7. The computer readable storage medium according to claim 6, wherein the indication information of the S sets D₀ to D_(S-1) comprises S bit fields, the S bit fields are in one-to-one correspondence with D₀ to D_(S-1), each bit field comprises at least one bit, a bit field corresponding to D_(j) indicates an element g_(j) of A₀, and any element of D_(j) is greater than g_(j).
 8. The computer readable storage medium according to claim 6, wherein any vector c_(j) of C and a corresponding element D_(j)(v) of D_(j) satisfy the following condition: |D _(j)(v)×(b _(f) _(h) )^(H) ×c _(j) |>k _(h) wherein b_(f) _(h) is a vector of B, k_(h)≥0, k_(h) is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.
 9. The computer readable storage medium according to claim 6, wherein C comprises at least M mutually orthogonal vectors, and any mutually M orthogonal vectors c_(j) ₀ , c_(j) ₁ , . . . , c_(j) _(M-1) , and corresponding elements D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) satisfy the following condition: $\frac{\begin{matrix} {{{{D_{j_{0}}\left( v_{0} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{0}}}}^{2} + {{{D_{j\; 1}\left( v_{1} \right)} \times \left( b_{f_{h}} \right)^{H} \times}}} \\ {{{c_{j\; 1}}^{2} + \ldots}\mspace{14mu},{+ {{{D_{j_{M - 1}}\left( v_{M - 1} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{M - 1}}}}^{2}}} \end{matrix}}{{{D_{j_{0}}\left( v_{0} \right)}}^{2} + {{D_{j_{1}}\left( v_{1} \right)}}^{2} + \ldots + {{D_{j_{M - 1}}\left( v_{M - 1} \right)}}^{2}} > k_{h}$ wherein D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) are elements of sets D_(j) ₀ , D_(j) ₁ , . . . , D_(j) _(M-1) respectively, b_(f) _(h) is a vector of B, k_(h)≥0, k_(h) is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.
 10. The computer readable storage medium according to claim 9, wherein the indication information of the S sets D₀ to D_(S-1) comprises H bit fields, and an h^(th) bit field indicates k_(h).
 11. A method, comprising: receiving, at a communication device, indication information of S sets D₀ to D_(S-1), wherein each member of the S sets D₀ to D_(S-1) corresponds to a respective element in a vector set C={c₀, c₁, . . . , c_(S-1)}; and determining a second precoding matrix set from a first precoding matrix set whose rank is R based on the indication information, wherein: each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R; W₁ satisfies ${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is a vector that has a length of Nt/2 and that belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M; W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², and an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², wherein p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, wherein 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≤p_(z,y-1,x-1) ¹>0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1; any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer; and the second precoding matrix set is a proper subset of the first precoding matrix set, and none of precoding matrices W=W₁×W₂ in the first precoding matrix set that satisfies the following condition is included in the second precoding matrix set: an x^(th) column vector comprised in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).
 12. The method according to claim 11, wherein the indication information of the S sets D₀ to D_(S-1) comprises S bit fields, the S bit fields are in one-to-one correspondence with D₀ to D_(S-1), each bit field comprises at least one bit, a bit field corresponding to D_(j) indicates an element g_(j) of A₀, and any element of D_(j) is greater than g_(j).
 13. The method according to claim 11, wherein any vector c_(j) of C and a corresponding element D_(j)(v) of D_(j) satisfy the following condition: |D _(j)(v)×(b _(f) _(h) )^(H) ×c _(j) |>k _(h) wherein b_(f) _(h) is a vector of B, k_(h)≥0, k_(h) is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.
 14. The method according to claim 11, wherein C comprises at least M mutually orthogonal vectors, and any mutually M orthogonal vectors c_(j) ₀ , c_(j) ₁ , . . . , c_(j) _(M-1) , and corresponding elements D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) satisfy the following condition: $\frac{\begin{matrix} {{{{D_{j_{0}}\left( v_{0} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{0}}}}^{2} + {{{D_{j\; 1}\left( v_{1} \right)} \times \left( b_{f_{h}} \right)^{H} \times}}} \\ {{{c_{j\; 1}}^{2} + \ldots}\mspace{14mu},{+ {{{D_{j_{M - 1}}\left( v_{M - 1} \right)} \times \left( b_{f_{h}} \right)^{H} \times c_{j_{M - 1}}}}^{2}}} \end{matrix}}{{{D_{j_{0}}\left( v_{0} \right)}}^{2} + {{D_{j_{1}}\left( v_{1} \right)}}^{2} + \ldots + {{D_{j_{M - 1}}\left( v_{M - 1} \right)}}^{2}} > k_{h}$ wherein D_(j) ₀ (v₀), D_(j) ₁ (v₁), . . . , D_(j) _(M-1) (v_(M-1)) are elements of sets D_(j) ₀ , D_(j) ₁ , . . . , D_(j) _(M-1) respectively, b_(f) _(h) is a vector of B, k_(h)≥0, k_(h) is a real number, H≥h≥1, T−1≥f_(h)≥0, H≥1, and H is an integer.
 15. The method according to claim 14, wherein the indication information of the S sets D₀ to D_(S-1) comprises H bit fields, and an h^(th) bit field indicates k_(h).
 16. A communication apparatus, comprising: a processor; a memory, configured to store at least one computer instruction which, when executed by the processor, caused the processor to perform following operations: generating, indication information of S sets D₀ to D_(S-1), wherein each member of the S sets D₀ to D_(S-1) corresponds to a respective element in a vector set C={c₀, c₁, . . . , c_(S-1)}, and the indication information is used by a terminal device to determine a second precoding matrix set from a first precoding matrix set whose rank is R; and sending, the indication information; wherein each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R; W₁ satisfies ${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is a vector that has a length of N_(t)/2 and that belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M; W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², and an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², wherein p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, wherein 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1; any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer; and the second precoding matrix set is a proper subset of the first precoding matrix set, and none of precoding matrices W=W₁×W₂ in the first precoding matrix set that satisfies the following condition is included in the second precoding matrix set: an x^(th) column vector comprised in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).
 17. A method for determining a precoding matrix set, comprising: generating, indication information of S sets D₀ to D_(S-1), wherein each member of the S sets D₀ to D_(S-1) corresponds to a respective element in a vector set C={c₀, c₁, . . . , c_(S-1)}, and the indication information is used to determine a second precoding matrix set from a first precoding matrix set whose rank is R; and sending, the indication information to a terminal device; wherein each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R; W₁ satisfies ${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is a vector that has a length of N_(t)/2 and that belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M; W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², and an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², wherein p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, wherein 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1; any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer; and the second precoding matrix set is a proper subset of the first precoding matrix set, and none of precoding matrices W=W₁×W₂ in the first precoding matrix set that satisfies the following condition is included in the second precoding matrix set: an x^(th) column vector comprised in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).
 18. A communication apparatus, comprising: a processor, configured to generate indication information of S sets D₀ to D_(S-1), wherein each member of the S sets D₀ to D_(S-1) corresponds to a respective element in a vector set C={c₀, c₁, . . . , c_(S-1)}, and the indication information is used to determine a second precoding matrix set from a first precoding matrix set whose rank is R; and a transceiver, configured to send the indication information to a terminal device; wherein each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R; W₁ satisfies ${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is a vector that has a length of N_(t)/2 and that belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M; W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², and an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², wherein p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, wherein 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1; any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer; and the second precoding matrix set is a proper subset of the first precoding matrix set, and none of precoding matrices W=W₁×W₂ in the first precoding matrix set that satisfies the following condition is included in the second precoding matrix set: an x^(th) column vector comprised in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j).
 19. A non-transitory computer readable storage medium storing computer instructions, that when executed by one or more hardware processors, cause a computer to perform operations comprising: generating, indication information of S sets D₀ to D_(S-1), wherein each member of the S sets D₀ to D_(S-1) corresponds to a respective element in a vector set C={c₀, c₁, . . . , c_(S-1)}, and the indication information is used to determine a second precoding matrix set from a first precoding matrix set whose rank is R; and sending, the indication information to a terminal device; wherein each precoding matrix W in the first precoding matrix set satisfies W=W₁×W₂, W is a matrix of N_(t) rows and R columns, N_(t) is greater than or equal to R; W₁ satisfies ${W_{1} = \begin{bmatrix} X & 0 \\ 0 & X \end{bmatrix}},$ X=[b_(k) ₀ . . . b_(k) _(M-1) ], b_(k) _(i) is a vector that has a length of N_(t)/2 and that belongs to a vector set B={b₀, b₁, . . . , b_(T-1)}, T is a quantity of vectors in B, T≥M; W₂ is a matrix of 2M rows and R columns, an element W₂(x,y) in row x and column y of W₂ satisfies W₂(x,y)=p_(0,y-1,x-1) ⁰×p_(0,y-1,x-1) ¹×p_(0,y-1,x-1) ², and an element W₂(x+M,y) in row x+M and column y of W₂ satisfies W₂(x+M,y)=p_(1,y-1,x-1) ⁰×p_(1,y-1,x-1) ¹×p_(1,y-1,x-1) ², wherein p_(z,y-1,x-1) ⁰ is a first product factor, p_(z,y-1,x-1) ¹ is a second product factor, p_(z,y-1,x-1) ² is a third product factor, wherein 0<x≤M, 0<y≤R, a value range of p_(z,y-1,x-1) ⁰ is a set A₀, z belongs to {0,1}, 1≥p_(z,y-1,x-1) ⁰≥0, p_(z,y-1,x-1) ⁰ is a real number, 1≥p_(z,y-1,x-1) ¹≥0, p_(z,y-1,x-1) ¹ is a real number, and p_(z,y-1,x-1) ² is a complex number whose modulus is 1; any vector c_(j) in C belongs to B, D_(j) is a proper subset of A₀, S−1≥j≥0, and j is an integer; and the second precoding matrix set is a proper subset of the first precoding matrix set, and none of precoding matrices W=W₁×W₂ in the first precoding matrix set that satisfies the following condition is included in the second precoding matrix set: an x^(th) column vector comprised in X of W₁ is the vector c_(j), and a first product factor p_(z,y-1,x-1) ⁰ of at least one of elements in row x and row x+M of W₂ belongs to D_(j). 